많은 사람들은 검색창에 naver또는 google과 같은 다양한 웹사이트를 찾아서 들어간다.
너무나 자연스러운 일이라서 이게 어떻게 동작하는지, 어떤 과정이 필요한지는 알지 못하는 사람들이 많을 것이다.
그래서 오늘은 검색창에 주소를 치고 웹사이트를 들어가기까지의 과정을 설명할 것이다.
DNS (Domain Name System) : 영문/한글 주소를 IP 네트워크에서 찾아갈 수 있는 IP로 변환해 준다.
DNS
는 캐시를 4가지 과정을 통해 확인한다.
이렇게 많은 곳에 캐시를 저장하는 이유는 네트워크 트래픽 조절과 데이터 전송 시간 을 줄이기 위해서이다.
ISP (Internet Service Provider) : 인터넷 서비스 제공업체로, 한국에서는 KT, SKT 텔레콤등이 이에 해당한다.
google.com에 접속하기 위해서는 IP주소가 반드시 필요하므로, DNS Query는 다른 DNS 서버를 검색해서 IP를 찾는 것이다.
이러한 상황에서 ISP의 DNS 서버는 DNS recursion
이라 부르고, 다른 DNS 서버는 name server
라고 불린다.
이러한 검색을 recursive search
라고 부르는데, 찾지 못해서 에러가 발생하거나 IP를 찾을 때까지 계속 반복한다.
브라우저가 정상적인 IP를 받게 된다면, 서버와 connection을 하게 된다.
인터넷 프로토콜을 이용해서 connection을 하게 되는데, HTTP 는 일반적으로 TCP 를 사용한다.
서버와 브라우저가 연결되었으니, 웹 서버에 HTTP 요청을 보내서 웹 페이지를 받아온다.
서버가 요청을 처리한 뒤, google.com 웹 페이지를 전송한다.
브라우저의 렌더링 과정은 이 글에서 자세히 다루고 있으니 참고 바란다.
검색창에 google.com을 입력하면 정말 많은 일들이 일어나지만, 대부분의 사람들은 이런 일이 일어난지도 모르고 있다. 그만큼 짧은 시간에 많은 일이 일어난다는 뜻이고, 정말 신기한 일이다.
면접을 준비하면서 이와 같은 다양한 지식을 습득할 수 있었다. 더욱 좋은 개발자가 되는 그날까지 열심히 해보자!!